The present invention relates to providing a virtual user interface for a set top box or similar client device. More generally, the present invention enables user interface virtualization for any of a wide variety of applications and computing environments.
A conventional approach for facilitating user interaction with information or entertainment systems that employ set top boxes involves providing a user interface application that runs natively on the set top box. Such an application might be, for example, a Flash player that presents a menu hierarchy. Unfortunately, because of the typical capabilities of a set top box, the animation associated with such interfaces often is not rendered in a satisfactory manner, i.e., it may take on the order of seconds for the player to render any new information it receives (e.g., rendering a new sub-menu screen from a previous menu screen). Given what users have become accustomed to when interacting with user interfaces on desktop computer systems, this level of operation and user experience is unacceptable.
Because of the performance limitations and deployment costs associated with conventional set top boxes, it is desirable to provide solutions in which the software components that deliver media are as device independent as possible.